package com.hl.service;

import java.util.List;
import com.hl.domain.PaymentRecord;

/**
 * 收款记录Service接口
 * 
 * @author ruoyi
 * @date 2025-08-08
 */
public interface IPaymentRecordService 
{
    /**
     * 查询收款记录
     * 
     * @param id 收款记录主键
     * @return 收款记录
     */
    public PaymentRecord selectPaymentRecordById(Integer id);

    /**
     * 查询收款记录列表
     * 
     * @param paymentRecord 收款记录
     * @return 收款记录集合
     */
    public List<PaymentRecord> selectPaymentRecordList(PaymentRecord paymentRecord);

    /**
     * 新增收款记录
     * 
     * @param paymentRecord 收款记录
     * @return 结果
     */
    public int insertPaymentRecord(PaymentRecord paymentRecord);

    /**
     * 修改收款记录
     * 
     * @param paymentRecord 收款记录
     * @return 结果
     */
    public int updatePaymentRecord(PaymentRecord paymentRecord);

    /**
     * 批量删除收款记录
     * 
     * @param ids 需要删除的收款记录主键集合
     * @return 结果
     */
    public int deletePaymentRecordByIds(Integer[] ids);

    /**
     * 删除收款记录信息
     * 
     * @param id 收款记录主键
     * @return 结果
     */
    public int deletePaymentRecordById(Integer id);

    /**
     * 获取支付状态选项（去重）
     * 
     * @return 支付状态列表
     */
    public List<String> getPaymentStatusOptions();

    /**
     * 获取支付方式选项（去重）
     * 
     * @return 支付方式列表
     */
    public List<String> getPaymentMethodOptions();

    /**
     * 根据订单号查询支付记录
     * 
     * @param orderId 订单号
     * @return 支付记录
     */
    public PaymentRecord selectPaymentRecordByOrderId(String orderId);
}
